<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Title</title>
</head>
<body>

</body>
<script>
	// "use strict";
	// function fn(){
	// 	"use strict"
	// }
	
	// let const
	// 相同点：
	// 1- 都有块级作用域
	// {
	// 	let a = 1;
	// 	const b = 2;
	// }
	// console.log(a,b);
	
	// 2- 都不是顶级对象下的属性
	// {
	// 	let a = 1;
	// 	const b = 2;
	// 	console.log(window.a,window.b);// undefined undefined
	// }
	
	// 3- 不允许重复定义(声明）
	// {
	// 	let a = 1;
	// 	let a = 2;
	//
	// 	const b = 2;
	// 	const b = 3;
	// }
	
	// 4- 没有提升
	// {
	// 	// console.log(a,b);
	// 	// let a = 1;
	// 	// const b = 2;
	// 	// console.log(a,b);
	//
	// 	function fn(){
	// 		console.log(age,my);
	// 	}
	// 	fn();
	// 	let age = 100;
	// 	const my = "wangwu";
	//
	// }
	
	// 不同点：
	// 1- let是变量，const是常量
	{
		// let a = 1;
		// a = 2;
		// a = 3;
		// a = 4;
		//
		// const b= 1;
		// b = 2;// 异常：是只读的，不允许修改
	}
	// 2- let可以省略初始值，const不可以
	// {
	// 	let a ;
	// 	const b ;// 异常：必须有初始值
	// }
</script>
</html>